﻿///*
// * Copyright (c) 2014-2025 GraphDefined GmbH <achim.friedland@graphdefined.com>
// * This file is part of WWCP OCPP <https://github.com/OpenChargingCloud/WWCP_OCPP>
// *
// * Licensed under the Affero GPL license, Version 3.0 (the "License");
// * you may not use this file except in compliance with the License.
// * You may obtain a copy of the License at
// *
// *     http://www.gnu.org/licenses/agpl.html
// *
// * Unless required by applicable law or agreed to in writing, software
// * distributed under the License is distributed on an "AS IS" BASIS,
// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// * See the License for the specific language governing permissions and
// * limitations under the License.
// */

//#region Usings

//using org.GraphDefined.Vanaheimr.Hermod.HTTP;

//#endregion

//namespace cloud.charging.open.protocols.OCPPv1_6.CP
//{

//    /// <summary>
//    /// The common interface of all HTTP/SOAP charge point clients.
//    /// </summary>
//    public interface IChargePointSOAPClient : ICPOutgoingMessages
//    {

//        #region OnBootNotificationRequest/-Response

//        /// <summary>
//        /// An event fired whenever a boot notification SOAP request will be sent to the central system.
//        /// </summary>
//        event ClientRequestLogHandler             OnBootNotificationSOAPRequest;

//        /// <summary>
//        /// An event fired whenever a response to a boot notification SOAP request was received.
//        /// </summary>
//        event ClientResponseLogHandler            OnBootNotificationSOAPResponse;

//        #endregion

//        #region OnHeartbeatRequest/-Response

//        /// <summary>
//        /// An event fired whenever a heartbeat SOAP request will be sent to the central system.
//        /// </summary>
//        event ClientRequestLogHandler      OnHeartbeatSOAPRequest;

//        /// <summary>
//        /// An event fired whenever a response to a heartbeat SOAP request was received.
//        /// </summary>
//        event ClientResponseLogHandler     OnHeartbeatSOAPResponse;

//        #endregion


//        #region OnAuthorizeRequest/-Response

//        /// <summary>
//        /// An event fired whenever an authorize SOAP request will be sent to the central system.
//        /// </summary>
//        event ClientRequestLogHandler      OnAuthorizeSOAPRequest;

//        /// <summary>
//        /// An event fired whenever a response to an authorize SOAP request was received.
//        /// </summary>
//        event ClientResponseLogHandler     OnAuthorizeSOAPResponse;

//        #endregion

//        #region OnStartTransactionRequest/-Response

//        /// <summary>
//        /// An event fired whenever a start transaction SOAP request will be sent to the central system.
//        /// </summary>
//        event ClientRequestLogHandler             OnStartTransactionSOAPRequest;

//        /// <summary>
//        /// An event fired whenever a response to a start transaction SOAP request was received.
//        /// </summary>
//        event ClientResponseLogHandler            OnStartTransactionSOAPResponse;

//        #endregion

//        #region OnStatusNotificationRequest/-Response

//        /// <summary>
//        /// An event fired whenever a status notification SOAP request will be sent to the central system.
//        /// </summary>
//        event ClientRequestLogHandler               OnStatusNotificationSOAPRequest;

//        /// <summary>
//        /// An event fired whenever a response to a status notification SOAP request was received.
//        /// </summary>
//        event ClientResponseLogHandler              OnStatusNotificationSOAPResponse;

//        #endregion

//        #region OnMeterValuesRequest/-Response

//        /// <summary>
//        /// An event fired whenever a meter values SOAP request will be sent to the central system.
//        /// </summary>
//        event ClientRequestLogHandler        OnMeterValuesSOAPRequest;

//        /// <summary>
//        /// An event fired whenever a response to a meter values SOAP request was received.
//        /// </summary>
//        event ClientResponseLogHandler       OnMeterValuesSOAPResponse;

//        #endregion

//        #region OnStopTransactionRequest/-Response

//        /// <summary>
//        /// An event fired whenever a stop transaction SOAP request will be sent to the central system.
//        /// </summary>
//        event ClientRequestLogHandler            OnStopTransactionSOAPRequest;

//        /// <summary>
//        /// An event fired whenever a response to a stop transaction SOAP request was received.
//        /// </summary>
//        event ClientResponseLogHandler           OnStopTransactionSOAPResponse;

//        #endregion


//        #region OnDataTransferRequest/-Response

//        /// <summary>
//        /// An event fired whenever a data transfer SOAP request will be sent to the central system.
//        /// </summary>
//        event ClientRequestLogHandler         OnDataTransferSOAPRequest;

//        /// <summary>
//        /// An event fired whenever a response to a data transfer SOAP request was received.
//        /// </summary>
//        event ClientResponseLogHandler        OnDataTransferSOAPResponse;

//        #endregion

//        #region OnDiagnosticsStatusNotificationRequest/-Response

//        /// <summary>
//        /// An event fired whenever a diagnostics status notification SOAP request will be sent to the central system.
//        /// </summary>
//        event ClientRequestLogHandler                          OnDiagnosticsStatusNotificationSOAPRequest;

//        /// <summary>
//        /// An event fired whenever a response to a diagnostics status notification SOAP request was received.
//        /// </summary>
//        event ClientResponseLogHandler                         OnDiagnosticsStatusNotificationSOAPResponse;

//        #endregion

//        #region OnFirmwareStatusNotificationRequest/-Response

//        /// <summary>
//        /// An event fired whenever a firmware status notification SOAP request will be sent to the central system.
//        /// </summary>
//        event ClientRequestLogHandler                       OnFirmwareStatusNotificationSOAPRequest;

//        /// <summary>
//        /// An event fired whenever a response to a firmware status notification SOAP request was received.
//        /// </summary>
//        event ClientResponseLogHandler                      OnFirmwareStatusNotificationSOAPResponse;

//        #endregion

//    }

//}
